package cn.itsy.dao.dept;

import cn.itsy.pojo.Dept;
import cn.itsy.pojo.EmpAndDept;
import cn.itsy.pojo.JobAndEmpAndDept;

import java.util.List;

public interface DeptDao {
    /**
     * 添加部门misterGay
     *
     * @param dept
     * @return
     */
    Integer insertDept(String sql, Dept dept);

    /**
     * 查询所有部门
     */
    List<Dept> queryAll(String sql);

    /**
     * 按id查询部门
     */

    List<Dept> queryDeptById(String sql, Integer id);

    /**
     * 修改部门
     */
    Integer updateDeptById(String sql, Dept dept);

    /**
     * 修改部门
     */
    Integer updateDeptById(String sql, String dbian, Integer id);

    /**
     * 修改部门的上级部门
     */
    Integer updateDeptById(String sql, Integer pid, Integer id);

    /**
     * 按id删除
     */
    void deleteDeptById(String sql, Integer idValue);

    /**
     * 删除前先查询要删除的部门有没有员工
     */
    List<EmpAndDept> queryEmpAndDeptById(String sql, Integer depart_id);

    /**
     * 按多个id查询部门
     */
    List<JobAndEmpAndDept> queryDeptsById(String sql, Integer... id);

    /**
     * 查询最新插入的id值
     */
    List<Dept> queryLastID(String sql);

    /**
     * 修改员工id以及职位id(两个表的部门id)
     */
    boolean updateEmpAndJobById(String sql, Integer... id);

    /**
     * 修改职位
     */
    boolean updateJobById(String sql, Integer... id);

    /**
     * 删除多个部门
     */
    void deleteDeptByIds(String sql, Integer... id);
}
